home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 731 / gadtoolsbox / oberon / allinone.mod next >
Text File  |  1995-03-18  |  17KB  |  480 lines

  1. MODULE AllInOne;
  2.  
  3. (*
  4.  *  Source generated with GadToolsBox V1.4
  5.  *  which is (c) Copyright 1991,92 Jaba Development
  6.  *  Oberon-Sourcecode-Generator by Kai Bolay (AMOK)
  7.  *)
  8.  
  9. IMPORT
  10.   e: Exec, I: Intuition, gt: GadTools, g: Graphics, u: Utility, gf: GetFile, y: SYSTEM;
  11.  
  12. CONST
  13.   GDGadget00                         = 0;
  14.   GDGadget10                         = 1;
  15.   GDGadget20                         = 2;
  16.   GDGadget30                         = 3;
  17.   GDGadget40                         = 4;
  18.   GDGadget50                         = 5;
  19.   GDGadget60                         = 6;
  20.   GDGadget70                         = 7;
  21.   GDGadget80                         = 8;
  22.   GDGadget90                         = 9;
  23.   GDGadget100                        = 10;
  24.   GDGadget110                        = 11;
  25.   GDGadget120                        = 12;
  26.   GDGadget130                        = 13;
  27.   GDGadget140                        = 14;
  28.   GDGadget150                        = 15;
  29.   GDGadget160                        = 16;
  30.   GDGadget170                        = 17;
  31.  
  32. CONST
  33.   Project0CNT = 18;
  34.   Project0Left = 0;
  35.   Project0Top = 0;
  36.   Project0Width = 640;
  37.   Project0Height = 256;
  38.   Project1CNT = 0;
  39.   Project1Left = 0;
  40.   Project1Top = 0;
  41.   Project1Width = 640;
  42.   Project1Height = 27;
  43. VAR
  44.   Scr*: I.ScreenPtr;
  45.   VisualInfo*: e.APTR;
  46.   Project0Wnd*: I.WindowPtr;
  47.   Project1Wnd*: I.WindowPtr;
  48.   Project0GList*: I.GadgetPtr;
  49.   Project0Menus*: I.MenuPtr;
  50.   Project0Gadgets*: ARRAY Project0CNT OF I.GadgetPtr;
  51.   GetImage: I.ObjectPtr;
  52.  
  53. TYPE
  54.   Gadget800LArray = ARRAY     4 OF e.STRPTR;
  55. CONST
  56.   Gadget800Labels = Gadget800LArray (
  57.     y.ADR ("Mutually"),
  58.     y.ADR ("Exclusive"),
  59.     y.ADR ("Gadgets"),
  60.     NIL );
  61.  
  62. TYPE
  63.   Gadget1000LArray = ARRAY     6 OF e.STRPTR;
  64. CONST
  65.   Gadget1000Labels = Gadget1000LArray (
  66.     y.ADR ("This"),
  67.     y.ADR ("Is"),
  68.     y.ADR ("A"),
  69.     y.ADR ("Cycle"),
  70.     y.ADR ("Gadget"),
  71.     NIL );
  72.  
  73. VAR
  74.   Gadget300List: e.MinList;
  75.   Gadget300Nodes: ARRAY 2 OF e.Node;
  76.   Gadget400List: e.MinList;
  77.   Gadget400Nodes: ARRAY 2 OF e.Node;
  78.   Gadget500List: e.MinList;
  79.   Gadget500Nodes: ARRAY 2 OF e.Node;
  80.   Gadget700List: e.MinList;
  81.   Gadget700Nodes: ARRAY 2 OF e.Node;
  82. CONST
  83.   topaz8 = g.TextAttr (y.ADR ("topaz.font"), 8, y.VAL (SHORTSET, 000H), y.VAL (SHORTSET, 001H) );
  84.  
  85. VAR
  86.   Project0IText: ARRAY 6 OF I.IntuiText;
  87.   Project1IText: ARRAY 1 OF I.IntuiText;
  88. TYPE
  89.   Project0MArray = ARRAY     5 OF gt.NewMenu;
  90. CONST
  91.   Project0NewMenu = Project0MArray (
  92.     gt.title, y.ADR ("This is a Menu!"), NIL, {}, y.VAL (LONGSET, 0), NIL,
  93.     gt.item, gt.barLabel, NIL, {}, LONGSET {}, NIL,
  94.     gt.item, y.ADR ("^^ BarLabels are supported too ^^"), NIL, {}, y.VAL (LONGSET, 0), NIL,
  95.     gt.sub, y.ADR ("And (ofcourse) sub-items are too !!"), NIL, {}, y.VAL (LONGSET, 0), NIL,
  96.     gt.end, NIL, NIL, {}, LONGSET {}, NIL);
  97. TYPE
  98.   Project0GTypesArray = ARRAY Project0CNT OF INTEGER;
  99. CONST
  100.   Project0GTypes = Project0GTypesArray (
  101.     gt.buttonKind,
  102.     gt.checkBoxKind,
  103.     gt.integerKind,
  104.     gt.listViewKind,
  105.     gt.listViewKind,
  106.     gt.listViewKind,
  107.     gt.stringKind,
  108.     gt.listViewKind,
  109.     gt.mxKind,
  110.     gt.numberKind,
  111.     gt.cycleKind,
  112.     gt.paletteKind,
  113.     gt.scrollerKind,
  114.     gt.sliderKind,
  115.     gt.stringKind,
  116.     gt.textKind,
  117.     gt.genericKind,
  118.     gt.genericKind
  119.   );
  120.  
  121. TYPE
  122.   Project0NGadArray = ARRAY Project0CNT OF gt.NewGadget;
  123. CONST
  124.   Project0NGad = Project0NGadArray (
  125.     7, 19, 285, 12, y.ADR ("_Disabled Button Gadget"), NIL, GDGadget00, LONGSET {gt.placeTextIn} ,NIL, NIL,
  126.     7, 33, 26, 11, y.ADR ("CheckBox Gadget"), NIL, GDGadget10, LONGSET {gt.placeTextRight} ,NIL, NIL,
  127.     7, 46, 122, 14, y.ADR ("Integer Gadget"), NIL, GDGadget20, LONGSET {gt.placeTextRight} ,NIL, NIL,
  128.     7, 62, 284, 40, NIL, NIL, GDGadget30, LONGSET {} ,NIL, NIL,
  129.     7, 104, 284, 28, NIL, NIL, GDGadget40, LONGSET {} ,NIL, NIL,
  130.     7, 134, 284, 28, NIL, NIL, GDGadget50, LONGSET {} ,NIL, NIL,
  131.     7, 205, 283, 12, NIL, NIL, GDGadget60, LONGSET {} ,NIL, NIL,
  132.     7, 164, 283, 40, NIL, NIL, GDGadget70, LONGSET {} ,NIL, NIL,
  133.     8, 207, 17, 9, NIL, NIL, GDGadget80, LONGSET {gt.placeTextRight} ,NIL, NIL,
  134.     298, 19, 119, 12, y.ADR ("A ReadOnly Number Gadget"), NIL, GDGadget90, LONGSET {gt.placeTextRight} ,NIL, NIL,
  135.     298, 33, 333, 12, NIL, NIL, GDGadget100, LONGSET {} ,NIL, NIL,
  136.     297, 47, 333, 39, NIL, NIL, GDGadget110, LONGSET {} ,NIL, NIL,
  137.     296, 87, 334, 12, NIL, NIL, GDGadget120, LONGSET {} ,NIL, NIL,
  138.     297, 101, 301, 11, NIL, NIL, GDGadget130, LONGSET {} ,NIL, NIL,
  139.     297, 114, 333, 12, NIL, NIL, GDGadget140, LONGSET {} ,NIL, NIL,
  140.     297, 128, 332, 12, NIL, NIL, GDGadget150, LONGSET {} ,NIL, NIL,
  141.     298, 190, 20, 14, NIL, NIL, GDGadget160, LONGSET {} ,NIL, NIL,
  142.     461, 190, 20, 14, NIL, NIL, GDGadget170, LONGSET {} ,NIL, NIL
  143.   );
  144.  
  145. TYPE
  146.   Project0GTagsArray = ARRAY    90 OF u.Tag;
  147. CONST
  148.   Project0GTags = Project0GTagsArray (
  149.     gt.underscore, y.ADR ('_'), I.gaDisabled, I.LTRUE, u.done,
  150.     gt.cbChecked, I.LTRUE, u.done,
  151.     gt.inNumber, 0, gt.inMaxChars, 10, u.done,
  152.     gt.lvLabels, NIL, gt.lvShowSelected, NIL, u.done,
  153.     gt.lvLabels, NIL, gt.lvReadOnly, I.LTRUE, u.done,
  154.     gt.lvLabels, NIL, u.done,
  155.     gt.stMaxChars, 256, u.done,
  156.     gt.lvLabels, NIL, gt.lvShowSelected, 1, u.done,
  157.     gt.mxLabels, y.ADR (Gadget800Labels[0]), gt.mxSpacing, 3, u.done,
  158.     gt.nmNumber, 666, gt.nmBorder, I.LTRUE, u.done,
  159.     gt.cyLabels, y.ADR (Gadget1000Labels[0]), gt.inNumber, 0, gt.inMaxChars, 5, u.done,
  160.     gt.paDepth, 4, gt.paIndicatorWidth, 50, u.done,
  161.     gt.scTotal, 50, gt.scArrows, 16, I.pgaFreedom, I.lorientHoriz, I.gaRelVerify, I.LTRUE, u.done,
  162.     gt.slMaxLevelLen, 2, gt.slLevelFormat, y.ADR ("%2ld"), gt.slLevelPlace, y.VAL (y.ADDRESS, LONGSET {gt.placeTextRight}), I.pgaFreedom, I.lorientHoriz, I.gaRelVerify, I.LTRUE, u.done,
  163.     gt.stString, y.ADR ("This is a String Gadget"), gt.stMaxChars, 256, u.done,
  164.     gt.txText, y.ADR ("This is a ReadOnly Text Gadget"), gt.txBorder, I.LTRUE, u.done,
  165.     u.done,
  166.     I.gaDisabled, I.LTRUE, u.done
  167.   );
  168.  
  169. TYPE
  170.   ColorArray = ARRAY     9 OF I.ColorSpec;
  171. CONST
  172.   ScreenColors = ColorArray (
  173.      0, 005H, 005H, 005H,
  174.      1, 000H, 000H, 000H,
  175.      2, 00BH, 00BH, 00BH,
  176.      3, 008H, 008H, 008H,
  177.      4, 00FH, 000H, 000H,
  178.      5, 000H, 000H, 00FH,
  179.      6, 000H, 00FH, 000H,
  180.      7, 00DH, 00DH, 00AH,
  181.     -1, 000H, 000H, 000H);
  182.  
  183. TYPE
  184.   DriPenArray = ARRAY    10 OF INTEGER;
  185. CONST
  186.   DriPens = DriPenArray (0,1,1,2,1,7,1,3,2,-1);
  187.  
  188. PROCEDURE SetupScreen* (): INTEGER;
  189. BEGIN
  190.   Scr := I.OpenScreenTagsA (NIL, I.saLeft,          0,
  191.             I.saTop,           0,
  192.             I.saWidth,         640,
  193.             I.saHeight,        256,
  194.             I.saDepth,         4,
  195.             I.saColors,        y.ADR (ScreenColors[0]),
  196.             I.saFont,          y.ADR (topaz8),
  197.             I.saType,          LONGSET {0..3} (* I.customScreen *),
  198.             I.saDisplayID,     g.palMonitorID+g.hiresKey,
  199.             I.saPens,          y.ADR (DriPens[0]),
  200.             I.saTitle,         y.ADR ("GadToolsBox v1.4 © 1991,92 "),
  201.             u.done);
  202.   IF Scr = NIL THEN RETURN 1 END;
  203.  
  204.   VisualInfo := gt.GetVisualInfo (Scr, u.done);
  205.   IF VisualInfo = NIL THEN RETURN 2 END;
  206.  
  207.   GetImage := I.NewObject (gf.GetFileClass, NIL, gt.visualInfo, VisualInfo, u.done);
  208.   IF GetImage = NIL THEN RETURN 4 END;
  209.  
  210.   RETURN 0;
  211. END SetupScreen;
  212.  
  213. PROCEDURE CloseDownScreen*;
  214. BEGIN
  215.   IF GetImage # NIL THEN
  216.     I.DisposeObject (GetImage);
  217.     GetImage := NIL;
  218.   END;
  219.   IF VisualInfo # NIL THEN
  220.     gt.FreeVisualInfo (VisualInfo);
  221.     VisualInfo := NIL;
  222.   END;
  223.   IF Scr # NIL THEN
  224.     IF I.CloseScreen (Scr) THEN END;
  225.     Scr := NIL;
  226.   END;
  227. END CloseDownScreen;
  228.  
  229. PROCEDURE Project0Render*;
  230. VAR
  231.   offx, offy: INTEGER;
  232. BEGIN
  233.   offx := 0;
  234.   offy := Scr^.wBorTop + Scr^.rastPort.txHeight + 1;
  235.  
  236.   Project0IText[0] := I.IntuiText (4, 7, g.jam2+SHORTSET {}, 121, 6, y.ADR (topaz8), y.ADR (" This shows about all features of the program ! "), NIL);
  237.   Project0IText[0].nextText := y.ADR (Project0IText[1]);
  238.   Project0IText[1] := I.IntuiText (7, 0, g.jam1+SHORTSET {}, 393, 142, y.ADR (topaz8), y.ADR ("Some BevelBoxes"), NIL);
  239.   Project0IText[1].nextText := y.ADR (Project0IText[2]);
  240.   Project0IText[2] := I.IntuiText (6, 0, g.jam1+SHORTSET {}, 287, 211, y.ADR (topaz8), y.ADR ("Even some menus are added !!! Check it out."), NIL);
  241.   Project0IText[2].nextText := y.ADR (Project0IText[3]);
  242.   Project0IText[3] := I.IntuiText (4, 0, g.jam1+SHORTSET {}, 176, 227, y.ADR (topaz8), y.ADR ("And last but not least.... Another window is present too."), NIL);
  243.   Project0IText[3].nextText := y.ADR (Project0IText[4]);
  244.   Project0IText[4] := I.IntuiText (5, 0, g.jam1+SHORTSET {}, 322, 193, y.ADR (topaz8), y.ADR ("< GetFile gadget"), NIL);
  245.   Project0IText[4].nextText := y.ADR (Project0IText[5]);
  246.   Project0IText[5] := I.IntuiText (1, 0, g.jam1+SHORTSET {}, 487, 193, y.ADR (topaz8), y.ADR ("< Disabled"), NIL);
  247.   Project0IText[5].nextText := NIL;
  248.  
  249.   I.PrintIText (Project0Wnd^.rPort, Project0IText[0], offx, offy);
  250.  
  251.   gt.DrawBevelBox (Project0Wnd^.rPort, offx + 470, offy + 154, 159, 23, gt.visualInfo, VisualInfo, gt.bbRecessed, I.LTRUE, u.done);
  252.   gt.DrawBevelBox (Project0Wnd^.rPort, offx + 297, offy + 154, 168, 23, gt.visualInfo, VisualInfo, u.done);
  253.   gt.DrawBevelBox (Project0Wnd^.rPort, offx + 0, offy + 2, 640, 243, gt.visualInfo, VisualInfo, gt.bbRecessed, I.LTRUE, u.done);
  254. END Project0Render;
  255.  
  256. PROCEDURE OpenProject0Window* (): INTEGER;
  257. TYPE
  258.   TagArrayPtr = UNTRACED POINTER TO ARRAY MAX (INTEGER) OF u.TagItem;
  259. VAR
  260.   ng: gt.NewGadget;
  261.   gad: I.GadgetPtr;
  262.   tmp: u.TagItemPtr;
  263.   help: TagArrayPtr;
  264.   lc, tc, lvc, offx, offy: INTEGER;
  265. BEGIN
  266.   offx := 0; offy := Scr^.wBorTop + Scr^.rastPort.txHeight + 1;
  267.  
  268.   Gadget300Nodes[0].succ := y.ADR (Gadget300Nodes[1]);
  269.   Gadget300Nodes[0].pred := y.ADR (Gadget300List.head);
  270.   Gadget300Nodes[0].type := 0;
  271.   Gadget300Nodes[0].pri  := 0;
  272.   Gadget300Nodes[0].name := y.ADR ("ListView");
  273.  
  274.   Gadget300Nodes[1].succ := y.ADR (Gadget300List.tail);
  275.   Gadget300Nodes[1].pred := y.ADR(Gadget300Nodes[0]);
  276.   Gadget300Nodes[1].type := 0;
  277.   Gadget300Nodes[1].pri  := 0;
  278.   Gadget300Nodes[1].name := y.ADR ("Show Selected");
  279.  
  280.   Gadget300List.head     := y.ADR (Gadget300Nodes[0]);
  281.   Gadget300List.tail     := NIL;
  282.   Gadget300List.tailPred := y.ADR (Gadget300Nodes[1]);
  283.  
  284.   Gadget400Nodes[0].succ := y.ADR (Gadget400Nodes[1]);
  285.   Gadget400Nodes[0].pred := y.ADR (Gadget400List.head);
  286.   Gadget400Nodes[0].type := 0;
  287.   Gadget400Nodes[0].pri  := 0;
  288.   Gadget400Nodes[0].name := y.ADR ("ListView");
  289.  
  290.   Gadget400Nodes[1].succ := y.ADR (Gadget400List.tail);
  291.   Gadget400Nodes[1].pred := y.ADR(Gadget400Nodes[0]);
  292.   Gadget400Nodes[1].type := 0;
  293.   Gadget400Nodes[1].pri  := 0;
  294.   Gadget400Nodes[1].name := y.ADR ("Read Only");
  295.  
  296.   Gadget400List.head     := y.ADR (Gadget400Nodes[0]);
  297.   Gadget400List.tail     := NIL;
  298.   Gadget400List.tailPred := y.ADR (Gadget400Nodes[1]);
  299.  
  300.   Gadget500Nodes[0].succ := y.ADR (Gadget500Nodes[1]);
  301.   Gadget500Nodes[0].pred := y.ADR (Gadget500List.head);
  302.   Gadget500Nodes[0].type := 0;
  303.   Gadget500Nodes[0].pri  := 0;
  304.   Gadget500Nodes[0].name := y.ADR ("ListView");
  305.  
  306.   Gadget500Nodes[1].succ := y.ADR (Gadget500List.tail);
  307.   Gadget500Nodes[1].pred := y.ADR(Gadget500Nodes[0]);
  308.   Gadget500Nodes[1].type := 0;
  309.   Gadget500Nodes[1].pri  := 0;
  310.   Gadget500Nodes[1].name := y.ADR ("No Show Selected");
  311.  
  312.   Gadget500List.head     := y.ADR (Gadget500Nodes[0]);
  313.   Gadget500List.tail     := NIL;
  314.   Gadget500List.tailPred := y.ADR (Gadget500Nodes[1]);
  315.  
  316.   Gadget700Nodes[0].succ := y.ADR (Gadget700Nodes[1]);
  317.   Gadget700Nodes[0].pred := y.ADR (Gadget700List.head);
  318.   Gadget700Nodes[0].type := 0;
  319.   Gadget700Nodes[0].pri  := 0;
  320.   Gadget700Nodes[0].name := y.ADR ("ListView");
  321.  
  322.   Gadget700Nodes[1].succ := y.ADR (Gadget700List.tail);
  323.   Gadget700Nodes[1].pred := y.ADR(Gadget700Nodes[0]);
  324.   Gadget700Nodes[1].type := 0;
  325.   Gadget700Nodes[1].pri  := 0;
  326.   Gadget700Nodes[1].name := y.ADR ("Joined");
  327.  
  328.   Gadget700List.head     := y.ADR (Gadget700Nodes[0]);
  329.   Gadget700List.tail     := NIL;
  330.   Gadget700List.tailPred := y.ADR (Gadget700Nodes[1]);
  331.  
  332.   gad := gt.CreateContext (Project0GList);
  333.   IF gad = NIL THEN RETURN 1 END;
  334.  
  335.   lc := 0; tc := 0; lvc := 0;
  336.   WHILE lc < Project0CNT DO
  337.     e.CopyMem (Project0NGad[lc], ng, y.SIZE (gt.NewGadget));
  338.     ng.visualInfo := VisualInfo;
  339.     ng.textAttr   := y.ADR (topaz8);
  340.     INC (ng.leftEdge, offx);
  341.     INC (ng.topEdge, offy);
  342.     help := u.CloneTagItems (y.VAL (TagArrayPtr, y.ADR (Project0GTags[tc]))^);
  343.     IF help = NIL THEN RETURN 8 END;
  344.     IF Project0GTypes[lc] = gt.listViewKind THEN
  345.       tmp := u.FindTagItem (gt.lvShowSelected, help^);
  346.       IF tmp # NIL THEN
  347.         IF tmp^.data # NIL THEN tmp^.data := gad END;
  348.       END; (* IF *)
  349.       tmp := u.FindTagItem (gt.lvLabels, help^);
  350.       IF tmp # NIL THEN
  351.         CASE lvc OF
  352.         | 0: tmp^.data := y.ADR (Gadget300List);
  353.         | 1: tmp^.data := y.ADR (Gadget400List);
  354.         | 2: tmp^.data := y.ADR (Gadget500List);
  355.         | 3: tmp^.data := y.ADR (Gadget700List);
  356.         END; (* CASE *)
  357.         INC (lvc);
  358.       END; (* IF *)
  359.     END; (* IF *)
  360.     gad := gt.CreateGadgetA (Project0GTypes[lc], gad, ng, help^ );
  361.     u.FreeTagItems (help^);
  362.     IF gad = NIL THEN RETURN 2 END;
  363.     Project0Gadgets[lc] := gad;
  364.  
  365.     IF Project0GTypes[lc] = gt.genericKind THEN
  366.       INCL (gad^.flags, I.gadgImage);
  367.       INCL (gad^.flags, I.gadgHImage);
  368.       INCL (gad^.activation, I.relVerify);
  369.       gad^.gadgetRender := GetImage;
  370.       gad^.selectRender := GetImage;
  371.     END; (* IF *)
  372.  
  373.     WHILE Project0GTags[tc]# u.done DO INC (tc, 2) END;
  374.     INC (tc);
  375.  
  376.     INC (lc);
  377.   END; (* WHILE *)
  378.   Project0Menus := gt.CreateMenus (Project0NewMenu, gt.mnFrontPen, 0, u.done);
  379.   IF Project0Menus = NIL THEN RETURN 3 END;
  380.  
  381.   IF NOT gt.LayoutMenus (Project0Menus, VisualInfo, gt.mnTextAttr, y.ADR (topaz8), u.done) THEN RETURN 4 END;
  382.  
  383.   Project0Wnd := I.OpenWindowTagsA ( NIL,
  384.                     I.waLeft,          Project0Left,
  385.                     I.waTop,           Project0Top,
  386.                     I.waWidth,         Project0Width,
  387.                     I.waHeight,        Project0Height + offy,
  388.                     I.waIDCMP,         gt.buttonIDCMP+gt.checkBoxIDCMP+gt.integerIDCMP+gt.listViewIDCMP+gt.stringIDCMP+gt.mxIDCMP+gt.numberIDCMP+gt.cycleIDCMP+gt.paletteIDCMP+gt.scrollerIDCMP+gt.arrowIDCMP+gt.sliderIDCMP+gt.textIDCMP+LONGSET {I.gadgetUp}+LONGSET {I.menuPick,I.closeWindow,I.rawKey,I.refreshWindow},
  389.                     I.waFlags,         LONGSET {I.backDrop,I.borderless},
  390.                     I.waGadgets,       Project0GList,
  391.                     I.waScreenTitle,   y.ADR ("GadToolsBox v1.3 © 1991,92"),
  392.                     I.waCustomScreen,  Scr,
  393.                     u.done);
  394.   IF Project0Wnd = NIL THEN RETURN 20 END;
  395.  
  396.   IF NOT I.SetMenuStrip (Project0Wnd, Project0Menus^) THEN RETURN 5 END;
  397.   gt.RefreshWindow (Project0Wnd, NIL);
  398.  
  399.   Project0Render;
  400.  
  401.   RETURN 0;
  402. END OpenProject0Window;
  403.  
  404. PROCEDURE CloseProject0Window*;
  405. BEGIN
  406.   IF Project0Menus # NIL THEN
  407.     I.ClearMenuStrip (Project0Wnd);
  408.     gt.FreeMenus (Project0Menus);
  409.     Project0Menus := NIL;
  410.   END;
  411.   IF Project0Wnd # NIL THEN
  412.     I.CloseWindow (Project0Wnd);
  413.     Project0Wnd := NIL;
  414.   END;
  415.   IF Project0GList # NIL THEN
  416.     gt.FreeGadgets (Project0GList);
  417.     Project0GList := NIL;
  418.   END;
  419. END CloseProject0Window;
  420.  
  421. PROCEDURE Project1Render*;
  422. VAR
  423.   offx, offy: INTEGER;
  424. BEGIN
  425.   offx := Project1Wnd^.borderLeft;
  426.   offy := Project1Wnd^.borderTop;
  427.  
  428.   Project1IText[0] := I.IntuiText (4, 0, g.jam1+SHORTSET {}, 198, 3, y.ADR (topaz8), y.ADR ("This is the other window !!!"), NIL);
  429.   Project1IText[0].nextText := NIL;
  430.  
  431.   I.PrintIText (Project1Wnd^.rPort, Project1IText[0], offx, offy);
  432. END Project1Render;
  433.  
  434. PROCEDURE OpenProject1Window* (): INTEGER;
  435. TYPE
  436.   TagArrayPtr = UNTRACED POINTER TO ARRAY MAX (INTEGER) OF u.TagItem;
  437. VAR
  438.   ng: gt.NewGadget;
  439.   gad: I.GadgetPtr;
  440.   tmp: u.TagItemPtr;
  441.   help: TagArrayPtr;
  442.   lc, tc, lvc, offx, offy: INTEGER;
  443. BEGIN
  444.   offx := 0; offy := Scr^.wBorTop + Scr^.rastPort.txHeight + 1;
  445.  
  446.   Project1Wnd := I.OpenWindowTagsA ( NIL,
  447.                     I.waLeft,          Project1Left,
  448.                     I.waTop,           Project1Top,
  449.                     I.waWidth,         Project1Width,
  450.                     I.waHeight,        Project1Height + offy,
  451.                     I.waIDCMP,         LONGSET {I.closeWindow,I.rawKey,I.refreshWindow},
  452.                     I.waFlags,         LONGSET {I.windowSizing,I.windowDrag,I.windowDepth,I.windowClose},
  453.                     I.waTitle,         y.ADR ("Work Window"),
  454.                     I.waScreenTitle,   y.ADR ("GadToolsBox v1.2 © 1991 "),
  455.                     I.waCustomScreen,  Scr,
  456.                     I.waMinWidth,      67,
  457.                     I.waMinHeight,     21,
  458.                     I.waMaxWidth,      640,
  459.                     I.waMaxHeight,     256,
  460.                     u.done);
  461.   IF Project1Wnd = NIL THEN RETURN 20 END;
  462.  
  463.   gt.RefreshWindow (Project1Wnd, NIL);
  464.  
  465.   Project1Render;
  466.  
  467.   RETURN 0;
  468. END OpenProject1Window;
  469.  
  470. PROCEDURE CloseProject1Window*;
  471. BEGIN
  472.   IF Project1Wnd # NIL THEN
  473.     I.CloseWindow (Project1Wnd);
  474.     Project1Wnd := NIL;
  475.   END;
  476. END CloseProject1Window;
  477.  
  478.  
  479. END AllInOne.
  480.